package com.travelshare.business.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.travelshare.business.mapper.UserCollectMapper;
import com.travelshare.business.domain.UserCollect;
import com.travelshare.business.service.IUserCollectService;
import com.travelshare.common.utils.DateUtils;

/**
 * 用户收藏信息Service业务层处理
 * 
 * @author travelshare
 * @date 2024-02-22
 */
@Service
public class UserCollectServiceImpl implements IUserCollectService 
{
    @Autowired
    private UserCollectMapper userCollectMapper;

    /**
     * 查询用户收藏信息
     * 
     * @param userId 用户收藏信息主键
     * @return 用户收藏信息
     */
    @Override
    public UserCollect selectUserCollectByUserId(Long userId, Long detailId)
    {
        return userCollectMapper.selectUserCollectByUserId(userId, detailId);
    }

    /**
     * 查询用户收藏信息列表
     * 
     * @param userCollect 用户收藏信息
     * @return 用户收藏信息
     */
    @Override
    public List<UserCollect> selectUserCollectList(UserCollect userCollect)
    {
        return userCollectMapper.selectUserCollectList(userCollect);
    }

    /**
     * 新增用户收藏信息
     * 
     * @param userCollect 用户收藏信息
     * @return 结果
     */
    @Override
    public int insertUserCollect(UserCollect userCollect)
    {
    	userCollect.setCreateTime(DateUtils.getNowDate());
        return userCollectMapper.insertUserCollect(userCollect);
    }

    /**
     * 修改用户收藏信息
     * 
     * @param userCollect 用户收藏信息
     * @return 结果
     */
    @Override
    public int updateUserCollect(UserCollect userCollect)
    {
        return userCollectMapper.updateUserCollect(userCollect);
    }

    /**
     * 批量删除用户收藏信息
     * 
     * @param userIds 需要删除的用户收藏信息主键
     * @return 结果
     */
    @Override
    public int deleteUserCollectByUserIds(Long[] userIds, Long[] detailIds)
    {
        return userCollectMapper.deleteUserCollectByUserIds(userIds, detailIds);
    }

    /**
     * 删除用户收藏信息信息
     * 
     * @param userId 用户收藏信息主键
     * @return 结果
     */
    @Override
    public int deleteUserCollectByUserId(Long userId, Long detailId)
    {
        return userCollectMapper.deleteUserCollectByUserId(userId, detailId);
    }
}
